package cn.stronglink.oil.widget;

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import cn.stronglink.oil.R;


/**
 * Created by Tgb on 2016/10/18.
 */

public class MyDialog extends Dialog implements View.OnClickListener {

    private TextView tv_title;
    private TextView tv_message;
    private Button btn_yes;
    private Button btn_no;
    private OnYesClickListener onYesClickListener;      // yes的点击事件
    private OnNoClickListener onNoClickListener;        // no的点击事件
    private OnCancelClickListener onCancelClickListener;    // 取消事件
    private String customMessage, title;                      // 外部自定义的信息
    private String customYes, customNo;               // 外部自定义的按钮提示文本

    public MyDialog(Context context) {
        super(context, R.style.MyDialog);
    }

    /**
     * 设置确定的点击事件
     *
     * @param msg
     * @param onYesClickListener
     */
    public void setOnYesClickListener(String msg, OnYesClickListener onYesClickListener) {
        if (msg != null) {
            this.customYes = msg;
        }
        this.onYesClickListener = onYesClickListener;
    }


    public void setOnNoClickListener(String msg, OnNoClickListener onNoClickListener) {
        if (msg != null) {
            this.customNo = msg;
        }
        this.onNoClickListener = onNoClickListener;
    }


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dialog_yes_or_no);
        //按空白处不能取消动画
        setCanceledOnTouchOutside(false);
        initView();
        initData();
    }

    private void initView() {
        tv_title = (TextView) findViewById(R.id.tv_dialog_title);
        tv_message = (TextView) findViewById(R.id.tv_message);
        btn_yes = (Button) findViewById(R.id.btn_yes);
        btn_no = (Button) findViewById(R.id.btn_no);
        btn_yes.setOnClickListener(this);
        btn_no.setOnClickListener(this);
    }

    /**
     * 设置数据
     */
    private void initData() {
        if (title != null) {
            tv_title.setText(title);
        }
        if (customMessage != null) {
            tv_message.setText(customMessage);
        }
        //如果设置按钮的文字
        if (customYes != null) {
            btn_yes.setText(customYes);
        }
        if (customNo != null) {
            btn_no.setText(customNo);
        }
    }

    /**
     * 设置信息
     *
     * @param msg
     */
    public void setDialogMessage(String msg) {
        this.customMessage = msg;
    }

    public void setDialogTitle(String title) {
        this.title = title;
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_yes:
                if (this.onYesClickListener != null) {
                    this.onYesClickListener.onYesClick();
                }
                break;
            case R.id.btn_no:
                if (this.onNoClickListener != null) {
                    this.onNoClickListener.onNoCllick();
                }
                break;

        }
    }

    public interface OnYesClickListener {
        void onYesClick();
    }

    public interface OnNoClickListener {
        void onNoCllick();
    }

    public interface OnCancelClickListener {
        void onCancelClick();
    }
}
